16.1 Настройка QoS
16.1.1 Обзор
Введение в функционал
Качество обслуживания (QoS) может использоваться для того, чтобы предоставить определенному трафику приоритет над другим. Без QoS весь трафик в сети имеет одинаковый приоритет и шансы на своевременную доставку. В случае перегрузки весь трафик имеет одинаковую вероятность быть отброшенным. С использованием QoS определенный сетевой трафик может быть приоритетным для получения предпочтительного обслуживания. Это позволяет сети работать более предсказуемо и эффективно использовать пропускную способность.
Информация о классификации может содержаться в заголовке пакета уровня 3 (IP) или кадра уровня 2. В заголовке пакета IP информация передается с использованием 6 бит или 3 бит из устаревшего поля типа сервиса (TOS). В кадрах уровня 2 стандарта 802.1Q информация передается через 2-байтовое поле Tag Control Information.
Все коммутаторы и маршрутизаторы, подключенные к Интернету, используют информацию о классах для одинаковой обработки пакетов с одинаковой классификацией и разной обработки пакетов с разной классификацией. Пакет может быть помечен информацией о классе следующим образом:
- Конечными устройствами или коммутаторами на пути, на основе заданной политики.
- Подробным анализом пакетов, который, как правило, проводится ближе к краю сети, чтобы избежать перегрузки коммутаторов и маршрутизаторов ядра сети.
- Комбинацией вышеуказанных методов.
Информация о классах может использоваться коммутаторами и маршрутизаторами для ограничения выделяемых ресурсов на класс трафика.
Per-hop behavior — поведение отдельного устройства при обработке трафика в архитектуре DiffServ. Конечное решение по QoS может быть реализовано, если все устройства на пути обеспечивают согласованное поведение на каждом этапе.
Описание принципов
###№ Ключевые термины и концепции QoS:
ACL
Списки управления доступом (ACLs) классифицируют трафик с одинаковыми характеристиками. Для IP-трафика используются IP ACLs, а для не-IP трафика — MAC ACLs. ACL может содержать несколько записей контроля доступа (ACEs), которые сопоставляют поля с содержимым пакета.
CoS Value
Класс обслуживания (Class of Service, CoS) — это 3-битное значение, используемое для классификации приоритета кадров второго уровня при их входе в сеть.
QoS классифицирует кадры, назначая им значения CoS с индексами приоритета, и отдает предпочтение трафику с более высоким приоритетом.
Заголовки кадров второго уровня стандарта 802.1Q содержат 2-байтовое поле Tag Control Information, которое включает значения CoS в 3 наиболее значимых битах, называемых битами приоритета пользователя (User Priority bits).
На интерфейсах, настроенных как магистрали второго уровня (802.1Q trunks), весь трафик передается в рамках 802.1Q кадров, за исключением трафика в родной VLAN.
Другие типы кадров не могут содержать значения CoS второго уровня. Диапазон значений CoS: от 0 до 7.
DSCP Value
Differentiated Services Code Point (DSCP) — 6-битное значение для классификации приоритета пакетов уровня 3 при входе в сеть.
- Диапазон значений: От 0 до 63.
IP-Precedence Value
IP-Precedence — 3-битное значение, используемое для классификации приоритета пакетов уровня 3 при входе в сеть.
- Диапазон значений: От 0 до 7.
EXP Value
EXP Value — 3-битное значение для классификации приоритета MPLS пакетов при входе в сеть.
- Диапазон значений: От 0 до 7.
Классификация
Классификация позволяет различать один тип трафика от другого, анализируя поля в пакете. Этот процесс генерирует внутренний приоритет для пакета, который определяет все будущие действия QoS, применяемые к данному пакету.
Каждый пакет классифицируется при входе в сеть. На входе пакет проверяется, и его приоритет определяется на основе ACL или конфигурации. Значение CoS уровня 2 затем сопоставляется с приоритетным значением.
Классификационная информация передается в заголовке IP-пакета, используя 6 бит или 3 бита из устаревшего поля IP TOS. Классификация также может выполняться на уровне кадров второго уровня.
Классификация осуществляется на физическом порту входа, но не на уровне виртуального интерфейса коммутатора.
Классификация может основываться на CoS/inner-CoS/DSCP/IP-Precedence, значении CoS порта по умолчанию, а также на классах и политиках.
Shaping
Shaping — изменение скорости входящего потока трафика с целью регулирования его таким образом, чтобы исходящий поток был более плавным. Если входящий трафик характеризуется высокой скачкообразностью, его необходимо буферизовать, чтобы выход из буфера был менее импульсным и более равномерным.
Формирование трафика обладает следующими характеристиками:
- Формирование может быть применено на уровне физического порта.
- Формирование может быть применено к очередям на выходном интерфейсе.
Policing
Policing определяет, соответствует ли пакет заданным параметрам, сравнивая его внутренний приоритет с настройками полисера.
Полисер ограничивает объем полосы пропускания, потребляемой потоком трафика. Результат обработки передается маркеру.
Существует два типа полисеров:
- Индивидуальный полисер (Individual): QoS применяет ограничения полосы пропускания, указанные в полисере, отдельно для каждого соответствующего класса трафика. Индивидуальный полисер настраивается внутри policy map.
- Совокупный полисер (Aggregate): QoS применяет ограничения полосы пропускания, указанные в совокупном полисере, к общему объему трафика всех соответствующих потоков. Совокупный полисер настраивается путем указания имени полисера внутри policy map. Полоса пропускания полисера задается таким образом, чтобы совокупный полисер был разделён между несколькими классами трафика в рамках одной или нескольких policy map.
Marking
Marking определяет, как обрабатывать пакеты, не укладывающиеся в профиль.
Оно оценивает полисер и информацию конфигурации, чтобы определить необходимое действие для пакета, а затем обрабатывает пакет одним из следующих методов::
- Пропустить с понижением цвета (color down).
- Отбросить пакет.
Queuing
Пакеты назначаются в очередь для последующего планирования и обработки перегрузок.
- Максимум очередей - До 8 очередей для unicast, 1 для multicast и 1 для SPAN.
- Буферизация - Глубина очереди измеряется в ячейках буфера (288 байт).
Tail Drop
Tail drop — стандартная техника предотвращения перегрузок на интерфейсе. При использовании tail drop пакеты помещаются в очередь до тех пор, пока не будут превышены установленные пороги. Пакеты с разными приоритетами и цветами получают разные уровни приоритета для отбора на удаление. Сопоставление между приоритетом, цветом, очередью и уровнем отбора на удаление можно настроить. Вы можете изменить три порога для tail drop для каждой исходящей очереди с помощью команды настройки порога очереди на интерфейсе. Каждый порог имеет значение в ячейках буфера пакетов.
WRED (Weighted Random Early Detection)
WRED отличается от других техник предотвращения перегрузок тем, что пытается предсказать и предотвратить перегрузку, а не управлять ею, когда она уже произошла.
WRED снижает вероятность использования техники tail drop, избирательно удаляя пакеты, когда выходной интерфейс начинает показывать признаки перегрузки. Вместо того чтобы ждать, пока очередь заполнилась, WRED начинает удалять некоторые пакеты заранее, что позволяет избежать массового удаления пакетов сразу. Это позволяет использовать линию передачи на полную мощность в любой момент времени. Кроме того, WRED удаляет больше пакетов от крупных пользователей трафика, чем от маленьких. Таким образом, источники, генерирующие больший объем трафика, с большей вероятностью будут замедлены, в отличие от источников, генерирующих небольшой трафик.
Вы можете включить WRED и настроить два порога для уровня удаления, назначаемого каждой исходящей очереди. Карта цветового приоритета удаления WRED такая же, как и у tail drop. Каждый минимальный порог представляет собой точку, с которой WRED начинает случайным образом удалять пакеты. После превышения минимального порога WRED начинает случайным образом удалять пакеты, назначенные этому порогу. По мере того как очередь приближается к максимальному порогу, WRED продолжает случайным образом удалять пакеты с учетом вероятности их удаления. Когда максимальный порог достигнут, WRED удаляет все пакеты, назначенные этому порогу. По умолчанию WRED отключен.
Scheduling
Scheduling передает пакеты с использованием комбинации WDRR (Weighted Deficit Round Robin) и SP (Strict Priority). Каждая очередь принадлежит определенному классу. Классы варьируются от 0 до 7, где 7 имеет самый высокий приоритет. Несколько очередей могут быть в одном классе, или в классе может не быть очередей. Пакеты планируются с помощью SP между классами и WDRR между очередями в классе.
- Strict Priority-Based (SP) — в этом методе пакеты с более высоким приоритетом передаются первыми. Пакеты с более низким приоритетом передаются только когда очереди с более высокими приоритетами пусты. Проблема может возникнуть, если слишком много пакетов с низким приоритетом не передаются.
- Weighted Deficit Round Robin (WDRR) — в этом методе каждой очереди назначается вес, который контролирует количество пакетов, отправляемых из каждой очереди относительно других.
Class Map
Class Map задает имя и изолирует определенный трафик от другого трафика. Class Map определяет критерии, которые используются для сопоставления с конкретным потоком трафика, чтобы дальше классифицировать его. Критерии могут соответствовать нескольким группам доступа, определенным в ACL (списки контроля доступа).
Если существует несколько типов трафика, которые нужно классифицировать, можно создать другой Class Map с другим именем. После того как пакет будет сопоставлен с критериями Class Map, он будет дальше классифицирован с использованием Policy Map.
Policy Map
Policy Map определяет, на какой трафик будет воздействовать. Это можно реализовать следующим образом:
- Установить конкретный приоритет и цвет в трафик-классе.
- Установить конкретную политику доверия для отображения приоритета и цвета.
- Указать ограничения пропускной способности для каждого совпавшего трафик-класса (полицейский) и действия, которые нужно предпринять (маркировка), если трафик выходит за пределы профиля.
- Перенаправить совпавший трафик-класс на определенный физический интерфейс.
- Зеркалировать совпавший трафик-класс в определенную сессию мониторинга, место назначения которой определяется в модуле зеркалирования (см. команду "monitor session destination").
- Включить статистику для каждого ACE или каждого Class Map (если оператор Class Map — match-any).
- Атрибуты Policy Map:
- Policy Map может содержать несколько классов, каждый с различными критериями совпадения и действиями.
- Для каждого типа трафика, получаемого через интерфейс, может существовать отдельный класс Policy Map.
- Для интерфейса может быть применен только один Policy Map для каждого направления. Один и тот же Policy Map может быть применен к нескольким интерфейсам и направлениям.
- Перед тем как Policy Map станет эффективным, он должен быть привязан к интерфейсу.
- Policy Map можно применить на физическом интерфейсе (не на члене Link Aggregation), интерфейсе Link Aggregation или VLAN интерфейсе.
Mapping Tables
В процессе обработки QoS коммутатор представляет приоритет всего трафика (включая не-IP трафик) с помощью внутреннего значения приоритета:
-
Во время классификации QoS использует настраиваемые таблицы отображения для получения внутреннего приоритета (6-битное значение) из полученных значений CoS, EXP (3 бита), DSCP или IP-преcedence (3 бита). Эти таблицы включают:
-
CoS-to-priority-color/COS-to-PHB map
-
EXP-to-priority-color/EXP-to-PHB map
-
DSCP-to-priority-color/DSCP-to-PHB map
-
IP-precedence-to-priority-color/IP-PREC-to-PHB map
-
Во время контроля policing QoS может назначить другой приоритет и цвет для IP или не-IP пакета (если пакет соответствует class-map). Эта настраиваемая таблица называется policed-priority-color map.
-
До того как трафик попадет на этап планирования (scheduling), и будет установлен замененный CoS или DSCP, QoS использует настраиваемую таблицу отображения priority-color-to-CoS или priority-color-to-DSCP для получения значения CoS или DSCP из внутреннего приоритета и цвета.
-
Каждый домен QoS имеет независимый набор вышеупомянутых таблиц отображения.
Time-range
Используя time-range, можно применять правила в class-map в зависимости от времени суток или дня недели. Сначала определите имя временного диапазона и установите время и даты или дни недели для этого диапазона. Затем введите имя временного диапазона при добавлении правила (ACE). Вы можете использовать временной диапазон, чтобы определить, когда правила в class-map будут активны, например, в течение определенного периода времени или в определенные дни недели.
Некоторые из множества возможных преимуществ использования time-range:
- Вы можете контролировать доступ пользователя к ресурсам, таким как приложение, который определяется IP-адресом и номером порта.
- Вы можете получать статистику трафика в течение назначенного времени.
- Вы можете определить, когда действие класса трафика будет активно.
SRTCM
Single Rate Three Color Marker - маркер, использующий одну скорость для классификации трафика на три категории: красный, желтый и зеленый, в зависимости от того, насколько трафик соответствует установленным лимитам скорости.
TRTCM
Two Rate Three Color Marker - маркер, который использует две скорости для классификации трафика на три категории, что позволяет более точно регулировать трафик, сравнивая его с двумя уровнями: Committed Information Rate (CIR) и Excess Information Rate (EIR).
CIR
Committed Information Rate - гарантированная скорость передачи данных, которая предоставляется для трафика в сети в пределах заранее установленного лимита.
CBS
Committed Burst Size - максимальный размер буфера, который может быть использован трафиком, чтобы временно превышать CIR при условии, что трафик в основном соответствует этому лимиту.
EIR
Excess Information Rate - скорость передачи данных, которая может быть предоставлена сверх CIR в случае, если сеть позволяет обработать дополнительный трафик без потерь.
EBS
Excess Burst Size - максимальный размер буфера для трафика, который может превышать CIR, но все еще соответствует EIR, что позволяет использовать больший объем трафика в период низкой нагрузки.
PIR
Peak Information Rate - максимальная скорость передачи данных, которая может быть предоставлена на пике трафика, но которая не всегда может быть поддержана сетью на постоянной основе.
PBS
Peak Burst Size - максимальный объем трафика, который может быть передан при пиковой скорости (PIR) без потерь, но с ограничением по времени.
Modular QoS CLI
Modular QoS CLI - входящий трафик классифицируется в определенный класс трафика. Все политики QoS прикрепляются к этому классу трафика.
class-map type qos
Тип qos в class-map используется для идентификации трафика. Правила идентификации могут быть основаны на CoS/DSCP/IP Precedence/EXP/ACL.
policy-map type qos
Тип qos в policy-map используется для назначения трафика в класс. Тип qos в class-map упоминается в одном и том же типе policy-map.
class-map type traffic-class
Тип traffic-class в class-map используется для идентификации класса трафика. Правила идентификации основаны на значении класса трафика.
policy-map type traffic-class
Тип traffic-class в policy-map используется для задания политик QoS. Тип traffic-class в class-map упоминается в одном и том же типе policy-map.
16.1.2 Конфигурация
Следующая информация поможет вам учесть важные моменты перед настройкой QoS:
- QoS policing не может быть настроена на интерфейсе Linkagg.
- Трафик можно классифицировать только по порту входа.
- На одном class map может быть несколько ACL. ACL может содержать несколько записей доступа (ACE), которые проверяют поля пакета.
- Policing не может быть выполнена на уровне виртуального интерфейса коммутатора.
Для настройки политики QoS обычно требуется следующее:
- Категоризовать трафик на классы.
- Настроить политики, которые будут применяться к классам трафика.
- Применить политики к интерфейсам.
Классификация трафика с использованием ACLs
IP-трафик можно классифицировать с помощью IP ACLs. Далее приведены шаги для создания IP ACL для IP-трафика. Выполняйте эти шаги в режиме Privileged Exec.
- Перейдите в конфигурационный режим.
- Создайте IP ACL ACCESS-LIST-NAME. ACCESS-LIST-NAME — имя IP ACL.
- Создайте ACE, повторите этот шаг по мере необходимости. Для подробной информации обратитесь к Руководству по настройке ACL.
- Команда
no ip access-listудаляет список доступа.
Пример:
Разрешить доступ только для хостов на трех указанных сетях. Маски расширения соответствуют частям адресов хоста сетевого адреса. Если у хоста исходный адрес не совпадает с правилами списка доступа, он будет отклонен.
Шаг 1: Введите режим конфигурации
Switch# configure terminal
Шаг 2: Создайте ACL и ACE
Switch(config)# ip access-list ip-acl
Switch(config-ip-acl)# permit any 128.88.12.0 0.0.0.255 any
Switch(config-ip-acl)# permit any 28.88.0.0 0.0.255.255 any
Switch(config-ip-acl)# permit any 11.0.0.0 0.255.255.255 any
Switch(config-ip-acl)# exit
Для удаления ACL используйте команду no ip access-list в глобальном режиме конфигурации. Для удаления ACE используйте команду no sequence-num в режиме настройки ACL.
Терминология:
- ACL: Список управления доступом.
- ACE: Запись управления доступом.
Шаг 3: Выйдите из режима конфигурации
Switch(config)# end
Шаг 4: Проверка
Switch# show access-list ip ip-acl
ip access-list ip-acl
10 permit any 128.88.12.0 0.0.0.255 any
20 permit any 28.88.0.0 0.0.255.255 any
30 permit any 11.0.0.0 0.255.255.255 any
Создание class-map
Ниже приводится пример классификации IP-трафика на основе физического порта с использованием class maps. Это включает создание class map и определение критерия соответствия. В данном случае настраивается class map с именем cmap1 с одним критерием соответствия: IP access list ip-acl, который разрешает трафик от любого источника к любому назначению.
Шаг 1: Вход в режим конфигурации
Switch# configure terminal
Шаг 2: Создание ACL и ACE
Switch(config)# ip access-list ip-acl
Switch(config-ip-acl)# permit any any any
Switch(config-ip-acl)# quit
Шаг 3: Создание class-map и привязка ACL
Switch(config)# class-map cmap1
Switch (config-cmap)# match access-group ip-acl
Switch (config-cmap)# quit
- match-any: Используется для выполнения логического OR между всеми критериями соответствия в этом class map. Один или более критериев должны соответствовать. По умолчанию используется режим match-any.
- match-all: Используется для выполнения логического AND между всеми критериями соответствия в этом class map. Все критерии соответствия в class map должны совпадать.
Шаг 4: Выход из режима конфигурации
Switch(config)# end
Шаг 5: Проверка
Switch# show class-map cmap1
CLASS-MAP-NAME: cmap1 (match-any)
match access-group: ip-acl
Создание Policy Map
Ниже приводится пример настройки policy map для классификации, управления трафиком (policer) и его маркировки. В данном примере создается policy map, который привязывается к интерфейсу на входе (ingress). Если совпадающий трафик превышает среднюю скорость 48000 кбит/с, он сбрасывается.
Шаг 1: Вход в режим конфигурации
Switch# configure terminal
Шаг 2: Создание ACL и ACE
Switch(config)# ip access-list ip-acl
Switch(config-ip-acl)# permit any 10.1.0.0 0.0.255.255 any
Switch(config-ip-acl)# quit
Шаг 3: Создание class-map и привязка ACL
Switch(config)# class-map type qos cmap1
Switch(config-cmap)# match access-group ip-acl
Switch(config-cmap)# quit
Шаг 4: Создание policy-map и настройка действий
Switch(config)# policy-map type qos pmap1
Switch(config-pmap)# class type qos cmap1
Switch(config-pmap-c)# policer color-blind cir 48000 cbs 10000 ebs 16000 violate drop
Switch(config-pmap-qos-c)# set traffic-class 5
Switch(config-pmap-qos-c)# set color yellow
Switch(config-pmap-c)# quit
Switch(config-pmap)# quit
- Используйте команду no policy-map в глобальном режиме конфигурации, чтобы удалить policy-map.
- Используйте команду no policer в режиме настройки класса policy, чтобы удалить policer.
- Используйте команду no set в режиме настройки класса policy, чтобы сбросить приоритет или цвет до значения по умолчанию (по умолчанию приоритет — 0, цвет — green).
Шаг 5: Применение policy-map к интерфейсу
Switch(config)# interface eth-0-1
Switch(config-if)# service-policy type qos input pmap1
Switch(config-if)# exit
На данный момент поддерживается только один policy-map в каждом направлении (вход или выход) для интерфейса.
Используйте команду no service-policy input|output, чтобы отменить привязку policy map.
Шаг 6: Выход из режима конфигурации
Switch(config)# end
Шаг 7: Проверка
Switch# show policy-map pmap1
POLICY-MAP-NAME: pmap1 (type qos)
State: detached
CLASS-MAP-NAME: cmap1
match access-group: ip-acl
set traffic-class : 5
set color : yellow
policer color-blind cir 48000 cbs 10000 ebs 16000 violate drop
16.1.3 Конфигурация очередей
Настройка расписания (Scheduling)
Пакеты распределяются с помощью Strict Priority (SP) между разными классами и Weighted Deficit Round Robin (WDRR) между очередями в одном классе. В данном примере:
- Трафик классов 5 и 6 относится к классу 6 (наивысший приоритет).
- Трафик класса 2 относится к классу 0, с выделением 20% полосы пропускания.
Шаг 1: Вход в режим конфигурации
Switch# configure terminal
Шаг 2: Создание class-map и привязка traffic-class
Switch(config)# class-map type traffic-class tc5
Switch(config-cmap-tc)# match traffic-class 5
Switch(config-cmap-tc)# exit
Switch(config)# class-map type traffic-class tc6
Switch(config-cmap-tc)# match traffic-class 6
Switch(config-cmap-tc)# exit
Switch(config)# class-map type traffic-class tc2
Switch(config-cmap-tc)# match traffic-class 2
Switch(config-cmap-tc)# exit
Шаг 3: Создание policy-map и настройка приоритета
Switch(config)# policy-map type traffic-class tc
Switch(config-pmap-tc)# class type traffic-class tc5
Switch(config-pmap-tc-c)# priority level 6
Switch(config-pmap-tc-c)# exit
Switch(config-pmap-tc)# class type traffic-class tc6
Switch(config-pmap-tc-c)# priority level 6
Switch(config-pmap-tc-c)# exit
Switch(config-pmap-tc)# class type traffic-class tc2
Switch(config-pmap-tc-c)# bandwidth percentage 20
Switch(config-pmap-tc-c)# exit
Switch(config-pmap-tc)# exit
Шаг 4: Применение policy-map к интерфейсу
Switch(config)# interface eth-0-1
Switch(config-if)# service-policy type traffic-class tc
Switch(config-if)# exit
Шаг 5: Выход из режима конфигурации
Switch(config)# end
Шаг 6: Проверка
Switch# show qos interface eth-0-1 egress
TC Priority Bandwidth Shaping(kbps) Drop-Mode Max-Queue-Limit(Cell) ECN
0 0 - - dynamic level 10 -
1 0 - - random-drop 596 Disable
2 0 20 - dynamic level 10 -
3 0 - - tail-drop 2000 2000
4 0 - - dynamic level 10 -
5 6 - - dynamic level 10 -
6 6 - - dynamic level 10 -
7 7 - - tail-drop 64 -
Настройка Tail Drop
Tail drop — стандартная техника избежания перегрузки, используемая в каждой очереди на выходе. При использовании tail drop пакеты помещаются в очередь до достижения пороговых значений.
Ниже приведен пример настройки порога tail drop для класса трафика 3 с порогом сброса пакетов 2000.
Шаг 1: Вход в режим конфигурации
Switch# configure terminal
Шаг 2: Создание class-map и привязка traffic-class
Switch(config)# class-map type traffic-class tc3
Switch(config-cmap-tc)# match traffic-class 3
Switch(config-cmap-tc)# exit
Шаг 3: Создание policy-map и привязка class-map
Switch(config)# policy-map type traffic-class tc
Switch(config-pmap-tc)# class type traffic-class tc3
Шаг 4: Установка порога для Tail Drop
Switch(config-pmap-tc-c)# queue-limit 2000
Switch(config-pmap-tc-c)# exit
Switch(config-pmap-tc)# exit
Шаг 5: Применение policy-map к интерфейсу
Switch(config)# interface eth-0-1
Switch(config-if)# service-policy type traffic-class tc
Switch(config-if)# exit
Шаг 6: Выход из режима конфигурации
Switch(config)# end
Шаг 7: Проверка конфигурации
Switch# show qos interface eth-0-1 egress
TC Priority Bandwidth Shaping(kbps) Drop-Mode Max-Queue-Limit(Cell) ECN
0 0 - - dynamic level 10 -
1 0 - - dynamic level 10 -
2 0 - - dynamic level 10 -
3 0 - - tail-drop 2000 2000
4 0 - - dynamic level 10 -
5 0 - - dynamic level 10 -
6 0 - - dynamic level 10 -
7 7 - - tail-drop 64 -
Настройка WRED
WRED (Weighted Random Early Detection) снижает вероятность использования tail drop, избирательно сбрасывая пакеты при обнаружении перегрузки на выходном интерфейсе. Вместо ожидания заполнения очереди WRED заранее сбрасывает часть пакетов, предотвращая TCP-синхронизацию сбросов и улучшая пропускную способность сети.
Шаг 1: Вход в режим конфигурации
Switch# configure terminal
Шаг 2: Создание class-map и привязка traffic-class
Switch(config)# class-map type traffic-class tc1
Switch(config-cmap-tc)# match traffic-class 1
Switch(config-cmap-tc)# exit
Шаг 3: Создание policy-map и привязка class-map
Switch(config)# policy-map type traffic-class tc
Switch(config-pmap-tc)# class type traffic-class tc1
Шаг 4: Установка пороговых значений для WRED
Максимальный порог: 596.
Минимальный порог: 596 / 8 = 71 (рассчитывается автоматически).
Switch(config-pmap-tc-c)# random-detect maximum-threshold 596
Switch(config-pmap-tc-c)# exit
Switch(config-pmap-tc)# exit
Шаг 5: Применение policy-map к интерфейсу
Switch(config)# interface eth-0-1
Switch(config-if)# service-policy type traffic-class tc
Switch(config-if)# exit
Шаг 6: Выход из режима конфигурации
Switch(config)# end
Шаг 7: Проверка
Проверьте настройки с помощью команды:
Switch# show qos interface eth-0-1 egress
TC Priority Bandwidth Shaping(kbps) Drop-Mode Max-Queue-Limit(Cell) ECN
0 0 - - dynamic level 10 -
1 0 - - random-drop 596 Disable
2 0 - - dynamic level 10 -
3 0 - - tail-drop 2000 2000
4 0 - - dynamic level 10 -
5 0 - - dynamic level 10 -
6 0 - - dynamic level 10 -
7 7 - - tail-drop 64 -
Настройка Queue Shaping
Queue shaping позволяет управлять пропускной способностью трафика в очереди на выходе. Если объем трафика превышает заданный лимит, он буферизуется. Если буфер заполнен, избыточный трафик сбрасывается.
Шаг 1: Вход в режим конфигурации
Switch# configure terminal
Шаг 2: Создание class-map и привязка traffic-class
Switch(config)# class-map type traffic-class tc3
Switch(config-cmap-tc)# match traffic-class 3
Switch(config-cmap-tc)# exit
Шаг 3: Создание policy-map и привязка class-map
Switch(config)# policy-map type traffic-class tc
Switch(config-pmap-tc)# class type traffic-class tc3
Шаг 4: Установка скорости shaping
Лимит: 1000 Mbps (1 Gbps).
Switch(config-pmap-tc-c)# shape rate pir 1000000
Switch(config-pmap-tc-c)# exit
Switch(config-pmap-tc)# exit
Для отмены настройки используйте команду: no shape rate
Шаг 5: Применение policy-map к интерфейсу
Switch(config)# interface eth-0-1
Switch(config-if)# service-policy type traffic-class tc
Switch(config-if)# exit
Шаг 6: Выход из режима конфигурации
Switch(config)# end
Шаг 7: Проверка
Switch# show qos interface eth-0-1 egress
TC Priority Bandwidth Shaping(kbps) Drop-Mode Max-Queue-Limit(Cell) ECN
0 0 - - dynamic level 10 -
1 0 - - random-drop 596 Disable
2 0 20 - dynamic level 10 -
3 0 - 1000000 tail-drop 2000 2000
4 0 - - dynamic level 10 -
5 6 - - dynamic level 10 -
6 6 - - dynamic level 10 -
7 7 - - tail-drop 64 -
#№№ Конфигурация Port Policing
Port Policing позволяет ограничить скорость входящего или исходящего трафика на физическом интерфейсе. Трафик, превышающий установленный лимит, будет сброшен.
Пример настройки входящего Port Policing
Если входящий трафик превышает среднюю скорость в 48000 kbps, он сбрасывается.
Шаг 1: Вход в режим конфигурации
Switch# configure terminal
Шаг 2: Вход в режим настройки интерфейса и установка скорости Port Policing
CIR: 48000 kbps (средняя скорость). CBS: 10000 байт (Committed Burst Size). EBS: 20000 байт (Excess Burst Size).
Switch(config)# interface eth-0-1
Switch(config-if)# qos policer input color-blind cir 48000 cbs 10000 ebs 20000 violate drop
Switch(config-if)# exit
Чтобы удалить настройку policer, используйте команду: no port-policer input|output
Шаг 3: Выход из режима конфигурации
Switch(config)# end
Шаг 4: Проверка
Switch# show qos interface eth-0-1 statistics policer port input
Пример вывода:
plaintext
Копировать код
Interface: eth-0-1
input port policer:
color blind
CIR 48000 kbps, CBS 10000 bytes, EBS 20000 bytes
drop violate packets
Конфигурация Port Shaping
Port Shaping позволяет управлять передачей трафика на физическом интерфейсе, ограничивая скорость передачи и буферизуя весь превышающий трафик. Если буферов нет, превышающий трафик будет сброшен.
В этом примере демонстрируется создание Port Shaping. Если полученный трафик превышает 1000 Mbps, он будет буферизоваться.
Шаг 1: Вход в режим конфигурации
Switch# configure terminal
Шаг 2: Вход в режим настройки интерфейса и установка скорости Port Shaping
Switch(config)# interface eth-0-1
Switch(config-if)# qos shape rate pir 1000000
Switch(config-if)# exit
Чтобы удалить настройку shaping, используйте команду: no shape
Шаг 3: Выход из режима конфигурации
Switch(config)# end
Шаг 4: Проверка
Switch# show running-config interface eth-0-1
Building configuration...
!
interface eth-0-1
service-policy type traffic-class tc
qos policer input color-blind cir 48000 cbs 10000 ebs 20000 violate drop
qos shape rate pir 1000000
!